const router = require('express').Router();
const multer = require('multer');
//有很多语法用法，是在node_modules中的multer中的README.md查看怎么用找到的


// 1  这样写之后，express生成器生成的目录中的uploads会自动存储上传的文件 但是生成的上传内容没有后缀名
/* const upload = multer({
    dest: 'uploads/'
});
router.post('/upload_file', upload.single('avatar'), (req, res) => {
    res.json(req.file);
}); */

// 2  在public下手动创建一个名为uploads的文件
var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, 'public/uploads')
    },
    filename: function (req, file, cb) {
        // 随机名+"-"+时间戳即随机字符串+原始名
        cb(null, file.fieldname + '-' + Date.now() + file.originalname)
    }
})

var upload = multer({
    storage: storage
})

router.post('/upload_file', upload.single('avatar'), (req, res) => {
    // res.json(req.file);
    res.json({
        code: 1,
        info: '/uploads/' + req.file.filename,
    });
});

module.exports = router;